home *** CD-ROM | disk | FTP | other *** search
/ PC Zone 96 / PC Zone #096.7z / Dppcz1200.mdf / Demos / Gunlok / data1.cab / Program_Executable_Files / scripts / lasers.gsh < prev    next >
Text File  |  2000-09-09  |  15KB  |  788 lines

  1. // defines the weapon Wpn_GoodieLaser
  2. ////////////////////////////////////////////////////////////////////////////////////
  3.  
  4. // start wrapper - prevent multiple inclusions or recursive inclusions
  5.  
  6. //(this currently causes 'unrecognized preprocessor directive' warnings, until implemented)
  7. #ifndef INCLUDED_LASERS_GSH
  8. #define INCLUDED_LASERS_GSH
  9.  
  10. ////////////////////////////////////////////////////////////////////////////////////
  11.  
  12. light Lit_BlueLaser
  13. {
  14.     red             0
  15.     green           1.5
  16.     blue            7.5
  17.     specular red    0
  18.     specular green    0
  19.     specular blue    1
  20.     range           10
  21. }
  22.  
  23. light Lit_RedLaser
  24. {
  25.     red             7.5
  26.     green           0
  27.     blue            0
  28.     specular red    1
  29.     specular green    0
  30.     specular blue    0
  31.     range           3
  32. }
  33.  
  34. light Lit_GreenLaser
  35. {
  36.     red             0
  37.     green           7.5
  38.     blue            1.5
  39.     specular red    0
  40.     specular green    0.6
  41.     specular blue    0
  42.     range           10
  43. }
  44.  
  45. light Lit_YellowLaser
  46. {
  47.     red                6
  48.     green            6
  49.     blue            0
  50.     specular red    0.6
  51.     specular green    0.6
  52.     specular blue    0
  53.     range            6
  54. }
  55.  
  56. light Lit_PurpleLaser
  57. {
  58.     red                1.22
  59.     green            0.24
  60.     blue            3.86
  61.     specular red    0.59
  62.     specular green    0.07
  63.     specular blue    0.96
  64.     range            10
  65. }
  66.  
  67. light Lit_LtBlueLaser
  68. {
  69.     red                2.03
  70.     green            2.50
  71.     blue            2.97
  72.     specular red    0.61
  73.     specular green    0.78
  74.     specular blue    0.99
  75.     range            10
  76. }
  77.  
  78. pgenerator Pgn_YellowLaser
  79. {
  80.     type laser trail
  81.     life infinite // well actually until the shot no longer exists
  82.     particle TTL 0.3
  83.     rate 150
  84.     // stream direction
  85.     x 0 y 0 z 0
  86.     // particle colour
  87.     red 1 green 1 blue 0.5 alpha 1
  88.     start scale 0.2 end scale 0.1
  89.  
  90. }
  91.  
  92. pgenerator Pgn_GreenLaser
  93. {
  94.     type laser trail
  95.     life infinite // well actually until the shot no longer exists
  96.     particle TTL 0.3
  97.     rate 150
  98.     // stream direction
  99.     x 0 y 0 z 0
  100.     // particle colour
  101.     red 0 green 1 blue 0 alpha 1
  102.     start scale 0.3 end scale 0.1
  103.  
  104. }
  105.  
  106. pgenerator Pgn_GreenLaserPlus
  107. {
  108.     type laser trail
  109.     life infinite // well actually until the shot no longer exists
  110.     particle TTL 0.3
  111.     rate 150
  112.     // stream direction
  113.     x 0 y 0 z 0
  114.     // particle colour
  115.     red 0.4 green 1 blue 0 alpha 1
  116.     start scale 0.3 end scale 0.1
  117.  
  118. }
  119.  
  120.  
  121. pgenerator Pgn_PurpleLaser
  122. {
  123.     type laser trail
  124.     life infinite // well actually until the shot no longer exists
  125.     particle TTL 0.3
  126.     rate 150
  127.     // stream direction
  128.     x 0 y 0 z 0
  129.     // particle colour
  130.     red 0.59 green 0.0 blue 0.0 alpha 1
  131.     start scale 0.4 end scale 0.1
  132.  
  133. }
  134.  
  135. pgenerator Pgn_PurpleLaserb
  136. {
  137.     type laser trail
  138.     life infinite // well actually until the shot no longer exists
  139.     particle TTL 0.3
  140.     rate 150
  141.     // stream direction
  142.     x 0 y 0 z 0
  143.     // particle colour
  144.     red 0.7 green 0.4 blue 0.96 alpha 1
  145.     start scale 0.4 end scale 0.1
  146.  
  147. }
  148.  
  149. pgenerator Pgn_LtBlueLaser
  150. {
  151.     type laser trail
  152.     life infinite // well actually until the shot no longer exists
  153.     particle TTL 0.3
  154.     rate 150
  155.     // stream direction
  156.     x 0 y 0 z 0
  157.     // particle colour
  158.     red 0.31 green 0.48 blue 1 alpha 1
  159.     start scale 0.4 end scale 0.2
  160.  
  161. }
  162.  
  163. pgenerator Pgn_OrangeLaser
  164. {
  165.     type laser trail
  166.     life infinite // well actually until the shot no longer exists
  167.     particle TTL 0.3
  168.     rate 100
  169.     // stream direction
  170.     x 0 y 0 z 0
  171.     // particle colour
  172.     red 1 green 0.6 blue 0.2 alpha 1
  173.     start scale 0.2 end scale 0.1
  174. }
  175.  
  176. pgenerator Pgn_LaserGlowOrange
  177. {
  178.     type explosion
  179.     life infinite // well actually until the shot no longer exists
  180.     particle TTL 0.05    //seconds before a particle fades out or whatever
  181.     rate 400
  182.     // stream direction
  183.     x 0 y 0 z 0
  184.     // particle colour
  185.     red 0.8 green 0.8 blue 1 alpha 1.0
  186.     // scale
  187.     start scale 0.2 end scale 0.0
  188.     spin 10000
  189. }
  190.  
  191. pgenerator Pgn_LaserGlowGreen
  192. {
  193.     type shot
  194.     life infinite // well actually until the shot no longer exists
  195.     particle TTL 0.05    //seconds before a particle fades out or whatever
  196.     rate 400
  197.     // stream direction
  198.     x 0 y 0 z 0
  199.     // particle colour
  200.     red 0.4 green 1.0 blue 0.4 alpha 1.0
  201.     // scale
  202.     start scale 0.4 end scale 0.0
  203.     spin 10000
  204. }
  205.  
  206. pgenerator Pgn_LaserGlowRed
  207. {
  208.     type explosion
  209.     life infinite // well actually until the shot no longer exists
  210.     particle TTL 0.05    //seconds before a particle fades out or whatever
  211.     rate 400
  212.     // stream direction
  213.     x 0 y 0 z 0
  214.     // particle colour
  215.     red 1.0 green 0.0 blue 0.2 alpha 1.0
  216.     // scale
  217.     start scale 0.2 end scale 0.0
  218.     spin 10000
  219. }
  220.  
  221. pgenerator Pgn_LaserGlowBlue
  222. {
  223.     type shot
  224.     life infinite // well actually until the shot no longer exists
  225.     particle TTL 0.05    //seconds before a particle fades out or whatever
  226.     rate 400
  227.     // stream direction
  228.     x 0 y 0 z 0
  229.     // particle colour
  230.     red 0.3 green 0.3 blue 1 alpha 1.0
  231.     // scale
  232.     start scale 0.4 end scale 0.0
  233.     spin 10000
  234. }
  235.  
  236. pgenerator Pgn_LaserGlowPurple
  237. {
  238.     type shot
  239.     life infinite // well actually until the shot no longer exists
  240.     particle TTL 0.05    //seconds before a particle fades out or whatever
  241.     rate 400
  242.     // stream direction
  243.     x 0 y 0 z 0
  244.     // particle colour
  245.     red 1.0 green 0.1 blue 1 alpha 1.0
  246.     // scale
  247.     start scale 0.4 end scale 0.0
  248.     spin 10000
  249. }
  250.  
  251. projectile Prj_NoGravLaser
  252. {
  253.     gravity        no    // is this missile affected by gravity
  254.     damage        12    // in strength points
  255.     blast        0    // proximity damage (not yet supported)
  256.     max range    1600    // distance squared, in metres
  257. }
  258.  
  259. projectile Prj_Laser
  260. {
  261.     gravity        no // is this missile affected by gravity
  262.     damage        12 // in strength points
  263.     blast        0 // proximity damage (not yet supported)
  264.     max range    1600    // distance squared, in metres
  265. }
  266.  
  267. projectile Prj_EnemyLaser_Weak
  268. {
  269.     gravity        no // is this missile affected by gravity
  270.     damage        10 // in strength points
  271.     blast        0 // proximity damage (not yet supported)
  272.     max range    1600    // distance squared, in metres
  273. }
  274.  
  275. projectile Prj_EnemyLaser_Medium
  276. {
  277.     gravity        no // is this missile affected by gravity
  278.     damage        15 // in strength points
  279.     blast        0 // proximity damage (not yet supported)
  280.     max range    1600    // distance squared, in metres
  281. }
  282.  
  283. projectile Prj_EnemyLaser_Strong
  284. {
  285.     gravity        no // is this missile affected by gravity
  286.     damage        20 // in strength points
  287.     blast        0 // proximity damage (not yet supported)
  288.     max range    1600    // distance squared, in metres
  289. }
  290.  
  291. projectile Prj_Laser_Plus
  292. {
  293.     gravity        no // is this missile affected by gravity
  294.     damage        18 // in strength points
  295.     blast        0 // proximity damage (not yet supported)
  296.     max range    1600    // distance squared, in metres
  297. }
  298.  
  299. role Rol_RedLaser_Basic : Rol_DefaultProjectile
  300. {
  301.     shape        Pgn_PurpleLaser
  302.  
  303.     pgen2        Pgn_LaserGlowPurple
  304.  
  305.     light        Lit_RedLaser
  306.  
  307.     projectile    Prj_Laser
  308.  
  309.     identifier    "redlaser_beam"
  310.  
  311.     limit        4
  312. }
  313. role Rol_EnemyLaser_Weak : Rol_DefaultProjectile
  314. {
  315.     shape        Pgn_PurpleLaser
  316.  
  317.     pgen2        Pgn_LaserGlowPurple
  318.  
  319.     light        Lit_RedLaser
  320.  
  321.     projectile    Prj_EnemyLaser_Weak
  322.  
  323.     identifier    "enemyredlaser_beam"
  324.  
  325.     limit        4
  326. }
  327. role Rol_EnemyLaser_Medium : Rol_EnemyLaser_Weak
  328. {
  329.     shape        Pgn_PurpleLaser
  330.  
  331.     pgen2        Pgn_LaserGlowPurple
  332.  
  333.     light        Lit_RedLaser
  334.  
  335.     projectile    Prj_EnemyLaser_Medium
  336. }
  337. role Rol_EnemyLaser_Strong : Rol_EnemyLaser_Weak
  338. {
  339.     shape        Pgn_PurpleLaser
  340.  
  341.     pgen2        Pgn_LaserGlowRed
  342.  
  343.     light        Lit_RedLaser
  344.  
  345.     projectile    Prj_EnemyLaser_Strong
  346. }
  347. role Rol_RedLaser_Plus : Rol_DefaultProjectile
  348. {
  349.     shape        Pgn_PurpleLaserb
  350.  
  351.     pgen2        Pgn_LaserGlowPurple
  352.  
  353.     light      Lit_RedLaser
  354.  
  355.     projectile Prj_Laser_Plus
  356.  
  357.     identifier "redlaser_beam"
  358.  
  359.     limit        4
  360. }
  361.  
  362. role Rol_GreenLaser_Basic : Rol_DefaultProjectile
  363. {
  364.     shape        Pgn_GreenLaser
  365.  
  366.     pgen2        Pgn_LaserGlowGreen
  367.  
  368.     light        Lit_GreenLaser
  369.  
  370.     projectile    Prj_Laser
  371.  
  372.     identifier    "greenlaser_beam"
  373.  
  374.     limit        4
  375. }
  376.  
  377. role Rol_GreenLaser_Plus : Rol_DefaultProjectile
  378. {
  379.     shape        Pgn_GreenLaserPlus
  380.  
  381.     pgen2        Pgn_LaserGlowGreen
  382.  
  383.     light        Lit_GreenLaser
  384.  
  385.     projectile    Prj_Laser_Plus
  386.  
  387.     identifier    "greenlaser_beam"
  388.  
  389.     limit        4
  390. }
  391.  
  392. role Rol_BlueLaser_Basic : Rol_DefaultProjectile
  393. {
  394.     shape        Pgn_OrangeLaser
  395.  
  396.     pgen2        Pgn_LaserGlowOrange
  397.  
  398.     light        Lit_YellowLaser
  399.  
  400.     projectile    Prj_Laser
  401.  
  402.     identifier    "bluelaser_beam"
  403.  
  404.     limit        4
  405. }
  406.  
  407. role Rol_BlueLaser_Plus : Rol_DefaultProjectile
  408. {
  409.     shape        Pgn_YellowLaser
  410.  
  411.     pgen2        Pgn_LaserGlowOrange
  412.  
  413.     light        Lit_YellowLaser
  414.  
  415.     projectile    Prj_Laser_Plus
  416.  
  417.     identifier    "bluelaser_beam"
  418.  
  419.     limit        4
  420. }
  421.  
  422. role Rol_YellowLaser : Rol_DefaultProjectile
  423. {
  424.     shape        Pgn_YellowLaser
  425.  
  426.     pgen2        Pgn_LaserGlowOrange
  427.  
  428.     light        Lit_YellowLaser
  429.  
  430.     projectile    Prj_Laser
  431.  
  432.     identifier    "yellowlaser_beam"
  433.  
  434.     limit        4
  435. }
  436.  
  437. role Rol_PurpleLaser : Rol_DefaultProjectile
  438. {
  439.     shape        Pgn_PurpleLaser
  440.  
  441.     pgen2        Pgn_LaserGlowPurple
  442.  
  443.     light        Lit_PurpleLaser
  444.  
  445.     projectile    Prj_Laser
  446.  
  447.     identifier    "purplelaser_beam"
  448.  
  449.     limit        4
  450. }
  451.  
  452. role Rol_LtBlueLaser : Rol_DefaultProjectile
  453. {
  454.     shape        Pgn_LtBlueLaser
  455.  
  456.     pgen2        Pgn_LaserGlowBlue
  457.  
  458.     light        Lit_LtBlueLaser
  459.  
  460.     projectile    Prj_Laser
  461.  
  462.     identifier    "ltbluelaser_beam"
  463.  
  464.     limit        4
  465. }
  466.  
  467. role Rol_NoGrav_RedLaser : Rol_DefaultProjectile
  468. {
  469.     shape        Pgn_PurpleLaser
  470.  
  471.     pgen2        Pgn_LaserGlowPurple
  472.  
  473.     light        Lit_RedLaser
  474.  
  475.     projectile    Prj_NoGravLaser
  476.  
  477.     identifier    "antigrav_laser_beam"
  478.  
  479.     limit        4
  480. }
  481.  
  482. /////////////////////////////////////////////////////////////////////////////////
  483.  
  484. // ENEMY LASER
  485. ammo
  486. {
  487.     weapon type        enemy laser weak
  488.     ammo type        battery basic
  489.  
  490.     round time        0.5
  491.     reload time        1
  492.     life timer        0
  493.     magazine size    10
  494.     sound            laser sound
  495.  
  496.     file            "User Interface/CommWheel01.RIF" // command wheel icon
  497.     name            "sub ammo laser ra"
  498.  
  499.     projectile        Rol_EnemyLaser_Weak
  500.     firing speed    25 // m/s
  501. }
  502.  
  503. ammo
  504. {
  505.     weapon type        enemy laser medium
  506.     ammo type        battery basic
  507.  
  508.     round time        0.5
  509.     reload time        1
  510.     life timer        0
  511.     magazine size    10
  512.     sound            laser sound
  513.  
  514.     file            "User Interface/CommWheel01.RIF" // command wheel icon
  515.     name            "sub ammo laser ra"
  516.  
  517.     projectile        Rol_EnemyLaser_Medium
  518.     firing speed    25 // m/s
  519. }
  520.  
  521. ammo
  522. {
  523.     weapon type        enemy laser strong
  524.     ammo type        battery basic
  525.  
  526.     round time        0.5
  527.     reload time        1
  528.     life timer        0
  529.     magazine size    10
  530.     sound            laser sound
  531.  
  532.     file            "User Interface/CommWheel01.RIF" // command wheel icon
  533.     name            "sub ammo laser ra"
  534.  
  535.     projectile        Rol_EnemyLaser_Strong
  536.     firing speed    25 // m/s
  537. }
  538.  
  539. // LASER
  540. ammo
  541. {
  542.     weapon type        laser
  543.     ammo type        battery basic
  544.  
  545.     round time        1
  546.     reload time        2
  547.     life timer        0
  548.     magazine size    10
  549.     sound            laser sound
  550.  
  551.     file            "User Interface/CommWheel01.RIF"    // command wheel icon
  552.     name            "sub ammo laser ra"
  553.  
  554.     projectile        Rol_BlueLaser_Basic    // what it fires
  555.     firing speed    30                 // m/s
  556. }
  557. ammo
  558. {
  559.     weapon type        laser
  560.     ammo type        battery plus
  561.  
  562.     round time        1
  563.     reload time        2
  564.     life timer        0
  565.     magazine size    10
  566.     sound            laser sound
  567.  
  568.     file            "User Interface/CommWheel01.RIF"    // command wheel icon
  569.     name            "sub ammo laser rb"
  570.  
  571.     projectile        Rol_BlueLaser_Plus    // what it fires
  572.     firing speed    30                 // m/s
  573. }
  574.  
  575. // BINARY LASER
  576. ammo
  577. {
  578.     weapon type        binary laser
  579.     ammo type        battery basic
  580.  
  581.     round time        0.3
  582.     reload time        2
  583.     life timer        0
  584.     magazine size        10
  585.     salvo size        2
  586.     sound            binary laser sound
  587.  
  588.     file            "User Interface/CommWheel01.RIF"    // command wheel icon
  589.     name            "sub ammo binary ra"
  590.  
  591.     projectile        Rol_GreenLaser_Basic    // what it fires
  592.     firing speed        30             // m/s
  593. }
  594. ammo
  595. {
  596.     weapon type        binary laser
  597.     ammo type        battery plus
  598.  
  599.     round time        0.3
  600.     reload time        2
  601.     life timer        0
  602.     magazine size        10
  603.     salvo size        2
  604.     sound            binary laser sound
  605.  
  606.     file            "User Interface/CommWheel01.RIF"    // command wheel icon
  607.     name            "sub ammo binary rb"
  608.  
  609.     projectile        Rol_GreenLaser_Plus    // what it fires
  610.     firing speed        30             // m/s
  611. }
  612.  
  613. // MAXIM LASER
  614. ammo
  615. {
  616.     weapon type        maxim laser
  617.     ammo type        battery basic
  618.  
  619.     round time        0.25
  620.     reload time        2
  621.     life timer        0
  622.     magazine size        10
  623.     sound            maxim laser sound
  624.     salvo size        4
  625.  
  626.     file            "User Interface/CommWheel01.RIF"    // command wheel icon
  627.     name            "sub ammo maxim ra"
  628.  
  629.     projectile        Rol_RedLaser_Basic    // what it fires
  630.     firing speed        30             // m/s
  631. }
  632. ammo
  633. {
  634.     weapon type        maxim laser
  635.     ammo type        battery plus
  636.  
  637.     round time        0.25
  638.     reload time        2
  639.     life timer        0
  640.     magazine size        10
  641.     sound            maxim laser sound
  642.     salvo size        5
  643.  
  644.     file            "User Interface/CommWheel01.RIF"    // command wheel icon
  645.     name            "sub ammo maxim rb"
  646.  
  647.     projectile        Rol_RedLaser_Plus    // what it fires
  648.     firing speed        30             // m/s
  649. }
  650.  
  651. /////////////////////////////////////////////////////////////////////////////////
  652.  
  653. shape Shp_MaximLaser_Pickup
  654. {
  655.     file "objects\maxim laser pickup a.rif"
  656.     name "maxim laser pickup a"
  657. }
  658.  
  659. hierarchy Hcy_MaximLaser_Inventory_Pickup
  660. {
  661.     file "objects\maxim laser.rif"
  662.     name "maxim laser"
  663.     hotspot none
  664. }
  665.  
  666. character Chr_MaximLaser_Pickup : Chr_Default
  667. {
  668.     turning speed   0    // this is in revolutions per second
  669.     walking speed   0    // this is in animation cycles per second
  670.     weapon            maxim laser
  671.     strength        10    // initial strength points
  672.     aim                0
  673.     aggression        0.41    // 4 = weapon pickup
  674. }
  675.  
  676. role Rol_MaximLaser_Pickup : Rol_DefaultPickup
  677. {
  678.     shape            Shp_MaximLaser_Pickup
  679.  
  680.     inventory shape    Hcy_MaximLaser_Inventory_Pickup
  681.  
  682.     character        Chr_MaximLaser_Pickup
  683.  
  684.     identifier        "maxim_laser"
  685.  
  686.     destructibility    Des_Explode
  687.  
  688.     armour            25
  689.  
  690.     limit            2
  691.  
  692.     description        GL_DESCRIPTION_MAXIM_LASER
  693.  
  694.     pickup name        maxim laser pickup
  695. }
  696.  
  697. ////////////////////////////////////////////////////////////////////////////////////
  698.  
  699. shape Shp_BinaryLaser_Pickup
  700. {
  701.     file "objects\binary laser pickup a.rif"
  702.     name "binary laser pickup a"
  703. }
  704.  
  705. hierarchy Hcy_BinaryLaser_Inventory_Pickup
  706. {
  707.     file "objects\binary laser.rif"
  708.     name "binary laser"
  709.     hotspot none
  710. }
  711.  
  712. character Chr_BinaryLaser_Pickup : Chr_Default
  713. {
  714.     turning speed   0    // this is in revolutions per second
  715.     walking speed   0    // this is in animation cycles per second
  716.     weapon            binary laser
  717.     strength        10    // initial strength points
  718.     aim                0
  719.     aggression        0.41    // 4 = weapon pickup
  720. }
  721.  
  722. role Rol_BinaryLaser_Pickup : Rol_DefaultPickup
  723. {
  724.     shape            Shp_BinaryLaser_Pickup
  725.  
  726.     inventory shape    Hcy_BinaryLaser_Inventory_Pickup
  727.  
  728.     character        Chr_BinaryLaser_Pickup
  729.  
  730.     identifier        "binary_laser"
  731.  
  732.     destructibility    Des_Explode
  733.  
  734.     armour            25
  735.  
  736.     description        GL_DESCRIPTION_BINARY_LASER
  737.  
  738.     pickup name        binary laser pickup
  739. }
  740.  
  741. ////////////////////////////////////////////////////////////////////////////////////
  742.  
  743. shape Shp_Laser_Pickup
  744. {
  745.     file "objects\laser pickup a.rif"
  746.     name "laser pickup a"
  747. }
  748.  
  749. hierarchy Hcy_Laser_Inventory_Pickup
  750. {
  751.     file "objects\laser.rif"
  752.     name "laser"
  753.     hotspot none
  754. }
  755.  
  756. character Chr_Laser_Pickup : Chr_Default
  757. {
  758.     turning speed   0    // this is in revolutions per second
  759.     walking speed   0    // this is in animation cycles per second
  760.     weapon            laser
  761.     strength        10    // initial strength points
  762.     aim                0
  763.     aggression        0.41    // 4 = weapon pickup
  764. }
  765.  
  766. role Rol_Laser_Pickup : Rol_DefaultPickup
  767. {
  768.     shape            Shp_Laser_Pickup
  769.  
  770.     inventory shape    Hcy_Laser_Inventory_Pickup
  771.  
  772.     character        Chr_Laser_Pickup
  773.  
  774.     identifier        "laser"
  775.  
  776.     destructibility    Des_Explode
  777.  
  778.     armour             25
  779.  
  780.     description        GL_DESCRIPTION_LASER
  781.  
  782.     pickup name        laser pickup
  783. }
  784.  
  785. ////////////////////////////////////////////////////////////////////////////////////
  786.  
  787. // end wrapper - for preventing multiple or recursive inclusions
  788. #endif // !INCLUDED_LASERS_GSH